package eg;

public class code3 {
    public static void main(String[] args) {
        //求1年后兔子数量
        /*
        *            老兔子      幼年兔子        总兔子
        * 第一月       0            1              1
        * 第二月       0            1              1
        * 第三月       1            1              2
        * 第四月       1            2              3
        * 第五月       2            3              5
        * 第六月       3            5              8
        * 第七月       5            8              13
        * 第八月       8            13             21
        * 第九月       13           21             34
        * 第十月       21           34             55
        * 第十一月     34           55             89
        * 第十二月     55           89             144
        * 第十三月     89           144            233
        * 第十四月     144          233            377*/
            int sum_rabbit = 1;   //兔子总数
            int old_rabbit = 1;   //1个月前兔子总数
            int new_rabbit = 1;   //2个月前兔子总数
            for (int month = 1; month < 15; month++) {
                if (month < 3) {
                    sum_rabbit = 1;
                } else {
                    sum_rabbit = old_rabbit+ new_rabbit;
                    old_rabbit = new_rabbit;
                    new_rabbit = sum_rabbit;
                }
                System.out.println("第" + month + "个月" + sum_rabbit + "对兔子");
            }
            /*递归方法
        for (int i = 1; i < 15; i++) {
            System.out.println("第" + i + "个月" + rabbit(i) + "只兔子");
        }
    }

    private static int rabbit(int month) {
        if (month < 3) {
            return 1;
        } else {
            return rabbit(month -2) + rabbit(month - 1);
        }
    }
执行结果：



两种方法思路和结果其实是一致的。*/
        }
    }

